package org.example.domain.strategy.service;

import org.example.domain.strategy.model.entity.RaffleAwardEntity;
import org.example.domain.strategy.model.entity.RaffleFactorEntity;

/**
 * @Author: SrmaticHai6532
 * @Create: 2025-07-06-20:46
 * @Description: 抽奖策略接口
 */
public interface IRaffleStrategy {
    /**
     *
     * @description : 执行抽奖；用抽奖因子入参，执行抽奖计算，返回奖品信息
     * @param :  [raffleFactorEntity] 抽奖因子实体对象，根据入参信息计算抽奖结果
     * @return :  RaffleAwardEntity 抽奖的奖品
     */
    RaffleAwardEntity performRaffle(RaffleFactorEntity raffleFactorEntity);
}
